load("//bazel:macros.bzl", "generated_cc_atom")

filegroup(
    name = "txts",
    srcs = [
        "generated/sksl_frag.dehydrated.sksl",
        "generated/sksl_gpu.dehydrated.sksl",
        "generated/sksl_public.dehydrated.sksl",
        "generated/sksl_rt_shader.dehydrated.sksl",
        "generated/sksl_vert.dehydrated.sksl",
    ],
    visibility = ["//:__subpackages__"],
)

cc_library(
    name = "srcs",
    visibility = ["//:__subpackages__"],
    deps = [
        ":SkSLAnalysis_src",
        ":SkSLBuiltinMap_src",
        ":SkSLBuiltinTypes_src",
        ":SkSLCompiler_src",
        ":SkSLConstantFolder_src",
        ":SkSLContext_src",
        ":SkSLDSLParser_src",
        ":SkSLDehydrator_src",
        ":SkSLErrorReporter_src",
        ":SkSLInliner_src",
        ":SkSLLexer_src",
        ":SkSLMangler_src",
        ":SkSLOperators_src",
        ":SkSLOutputStream_src",
        ":SkSLPool_src",
        ":SkSLRehydrator_src",
        ":SkSLSampleUsage_src",
        ":SkSLSharedCompiler_src",
        ":SkSLString_src",
        ":SkSLThreadContext_src",
        ":SkSLUtil_src",
        "//src/sksl/analysis:SkSLCanExitWithoutReturningValue_src",
        "//src/sksl/analysis:SkSLCheckProgramUnrolledSize_src",
        "//src/sksl/analysis:SkSLGetLoopUnrollInfo_src",
        "//src/sksl/analysis:SkSLIsConstantExpression_src",
        "//src/sksl/analysis:SkSLProgramUsage_src",
        "//src/sksl/analysis:SkSLSwitchCaseContainsExit_src",
        "//src/sksl/codegen:SkSLGLSLCodeGenerator_src",
        "//src/sksl/codegen:SkSLMetalCodeGenerator_src",
        "//src/sksl/codegen:SkSLPipelineStageCodeGenerator_src",
        "//src/sksl/codegen:SkSLSPIRVCodeGenerator_src",
        "//src/sksl/codegen:SkSLSPIRVtoHLSL_src",
        "//src/sksl/codegen:SkSLVMCodeGenerator_src",
        "//src/sksl/dsl:DSLBlock_src",
        "//src/sksl/dsl:DSLCase_src",
        "//src/sksl/dsl:DSLCore_src",
        "//src/sksl/dsl:DSLExpression_src",
        "//src/sksl/dsl:DSLFunction_src",
        "//src/sksl/dsl:DSLLayout_src",
        "//src/sksl/dsl:DSLRuntimeEffects_src",
        "//src/sksl/dsl:DSLStatement_src",
        "//src/sksl/dsl:DSLSymbols_src",
        "//src/sksl/dsl:DSLType_src",
        "//src/sksl/dsl:DSLVar_src",
        "//src/sksl/dsl/priv:DSLFPs_src",
        "//src/sksl/dsl/priv:DSLWriter_src",
        "//src/sksl/ir:SkSLBinaryExpression_src",
        "//src/sksl/ir:SkSLBlock_src",
        "//src/sksl/ir:SkSLChildCall_src",
        "//src/sksl/ir:SkSLConstructorArrayCast_src",
        "//src/sksl/ir:SkSLConstructorArray_src",
        "//src/sksl/ir:SkSLConstructorCompoundCast_src",
        "//src/sksl/ir:SkSLConstructorCompound_src",
        "//src/sksl/ir:SkSLConstructorDiagonalMatrix_src",
        "//src/sksl/ir:SkSLConstructorMatrixResize_src",
        "//src/sksl/ir:SkSLConstructorScalarCast_src",
        "//src/sksl/ir:SkSLConstructorSplat_src",
        "//src/sksl/ir:SkSLConstructorStruct_src",
        "//src/sksl/ir:SkSLConstructor_src",
        "//src/sksl/ir:SkSLDoStatement_src",
        "//src/sksl/ir:SkSLExpressionStatement_src",
        "//src/sksl/ir:SkSLExpression_src",
        "//src/sksl/ir:SkSLFieldAccess_src",
        "//src/sksl/ir:SkSLForStatement_src",
        "//src/sksl/ir:SkSLFunctionCall_src",
        "//src/sksl/ir:SkSLFunctionDeclaration_src",
        "//src/sksl/ir:SkSLFunctionDefinition_src",
        "//src/sksl/ir:SkSLIfStatement_src",
        "//src/sksl/ir:SkSLIndexExpression_src",
        "//src/sksl/ir:SkSLModifiers_src",
        "//src/sksl/ir:SkSLPostfixExpression_src",
        "//src/sksl/ir:SkSLPrefixExpression_src",
        "//src/sksl/ir:SkSLSetting_src",
        "//src/sksl/ir:SkSLSwitchStatement_src",
        "//src/sksl/ir:SkSLSwizzle_src",
        "//src/sksl/ir:SkSLSymbolTable_src",
        "//src/sksl/ir:SkSLTernaryExpression_src",
        "//src/sksl/ir:SkSLTypeReference_src",
        "//src/sksl/ir:SkSLType_src",
        "//src/sksl/ir:SkSLVarDeclarations_src",
        "//src/sksl/ir:SkSLVariableReference_src",
        "//src/sksl/ir:SkSLVariable_src",
        "//src/sksl/lex:NFA_src",
        "//src/sksl/lex:RegexNode_src",
        "//src/sksl/lex:RegexParser_src",
        "//src/sksl/lex:TransitionTable_src",
        "//src/sksl/tracing:SkVMDebugTracePlayer_src",
        "//src/sksl/tracing:SkVMDebugTrace_src",
        "//src/sksl/transform:SkSLBuiltinVariableScanner_src",
        "//src/sksl/transform:SkSLEliminateDeadFunctions_src",
        "//src/sksl/transform:SkSLEliminateDeadGlobalVariables_src",
        "//src/sksl/transform:SkSLEliminateDeadLocalVariables_src",
        "//src/sksl/transform:SkSLEliminateUnreachableCode_src",
    ],
)

generated_cc_atom(
    name = "GLSL.std.450_hdr",
    hdrs = ["GLSL.std.450.h"],
    visibility = ["//:__subpackages__"],
)

generated_cc_atom(
    name = "SkSLAnalysis_hdr",
    hdrs = ["SkSLAnalysis.h"],
    visibility = ["//:__subpackages__"],
    deps = [
        "//include/core:SkSpan_hdr",
        "//include/private:SkSLDefines_hdr",
        "//include/private:SkSLSampleUsage_hdr",
    ],
)

generated_cc_atom(
    name = "SkSLAnalysis_src",
    srcs = ["SkSLAnalysis.cpp"],
    visibility = ["//:__subpackages__"],
    deps = [
        ":SkSLAnalysis_hdr",
        ":SkSLCompiler_hdr",
        ":SkSLConstantFolder_hdr",
        "//include/private:SkFloatingPoint_hdr",
        "//include/private:SkSLModifiers_hdr",
        "//include/private:SkSLProgramElement_hdr",
        "//include/private:SkSLSampleUsage_hdr",
        "//include/private:SkSLStatement_hdr",
        "//include/sksl:SkSLErrorReporter_hdr",
        "//src/core:SkSafeMath_hdr",
        "//src/sksl/analysis:SkSLProgramVisitor_hdr",
        "//src/sksl/ir:SkSLBinaryExpression_hdr",
        "//src/sksl/ir:SkSLBlock_hdr",
        "//src/sksl/ir:SkSLBreakStatement_hdr",
        "//src/sksl/ir:SkSLChildCall_hdr",
        "//src/sksl/ir:SkSLConstructorDiagonalMatrix_hdr",
        "//src/sksl/ir:SkSLConstructorMatrixResize_hdr",
        "//src/sksl/ir:SkSLConstructor_hdr",
        "//src/sksl/ir:SkSLContinueStatement_hdr",
        "//src/sksl/ir:SkSLDiscardStatement_hdr",
        "//src/sksl/ir:SkSLDoStatement_hdr",
        "//src/sksl/ir:SkSLExpressionStatement_hdr",
        "//src/sksl/ir:SkSLExpression_hdr",
        "//src/sksl/ir:SkSLExtension_hdr",
        "//src/sksl/ir:SkSLExternalFunctionCall_hdr",
        "//src/sksl/ir:SkSLExternalFunctionReference_hdr",
        "//src/sksl/ir:SkSLFieldAccess_hdr",
        "//src/sksl/ir:SkSLForStatement_hdr",
        "//src/sksl/ir:SkSLFunctionCall_hdr",
        "//src/sksl/ir:SkSLFunctionDefinition_hdr",
        "//src/sksl/ir:SkSLFunctionReference_hdr",
        "//src/sksl/ir:SkSLIfStatement_hdr",
        "//src/sksl/ir:SkSLIndexExpression_hdr",
        "//src/sksl/ir:SkSLInlineMarker_hdr",
        "//src/sksl/ir:SkSLInterfaceBlock_hdr",
        "//src/sksl/ir:SkSLLiteral_hdr",
        "//src/sksl/ir:SkSLNop_hdr",
        "//src/sksl/ir:SkSLPostfixExpression_hdr",
        "//src/sksl/ir:SkSLPrefixExpression_hdr",
        "//src/sksl/ir:SkSLProgram_hdr",
        "//src/sksl/ir:SkSLReturnStatement_hdr",
        "//src/sksl/ir:SkSLSetting_hdr",
        "//src/sksl/ir:SkSLSwitchStatement_hdr",
        "//src/sksl/ir:SkSLSwizzle_hdr",
        "//src/sksl/ir:SkSLTernaryExpression_hdr",
        "//src/sksl/ir:SkSLTypeReference_hdr",
        "//src/sksl/ir:SkSLVarDeclarations_hdr",
        "//src/sksl/ir:SkSLVariableReference_hdr",
        "//src/sksl/transform:SkSLProgramWriter_hdr",
    ],
)

generated_cc_atom(
    name = "SkSLBuiltinTypes_hdr",
    hdrs = ["SkSLBuiltinTypes.h"],
    visibility = ["//:__subpackages__"],
    deps = ["//src/sksl/ir:SkSLType_hdr"],
)

generated_cc_atom(
    name = "SkSLBuiltinTypes_src",
    srcs = ["SkSLBuiltinTypes.cpp"],
    visibility = ["//:__subpackages__"],
    deps = [
        ":SkSLBuiltinTypes_hdr",
        ":SkSLCompiler_hdr",
        ":spirv_hdr",
        "//include/private:SkSLModifiers_hdr",
        "//src/sksl/ir:SkSLExpression_hdr",
    ],
)

generated_cc_atom(
    name = "SkSLCompiler_hdr",
    hdrs = ["SkSLCompiler.h"],
    visibility = ["//:__subpackages__"],
    deps = [
        ":SkSLAnalysis_hdr",
        ":SkSLContext_hdr",
        ":SkSLInliner_hdr",
        ":SkSLParsedModule_hdr",
        "//include/core:SkSize_hdr",
        "//src/gpu:GrShaderVar_hdr",
        "//src/sksl/ir:SkSLProgram_hdr",
        "//src/sksl/ir:SkSLSymbolTable_hdr",
    ],
)

generated_cc_atom(
    name = "SkSLCompiler_src",
    srcs = ["SkSLCompiler.cpp"],
    textual_hdrs = [":txts"],
    visibility = ["//:__subpackages__"],
    deps = [
        ":SkSLBuiltinMap_hdr",
        ":SkSLCompiler_hdr",
        ":SkSLConstantFolder_hdr",
        ":SkSLDSLParser_hdr",
        ":SkSLOperators_hdr",
        ":SkSLProgramSettings_hdr",
        ":SkSLRehydrator_hdr",
        ":SkSLThreadContext_hdr",
        "//include/gpu:GrContextOptions_hdr",
        "//include/sksl:DSLCore_hdr",
        "//src/core:SkTraceEvent_hdr",
        "//src/gpu:GrShaderCaps_hdr",
        "//src/sksl/codegen:SkSLGLSLCodeGenerator_hdr",
        "//src/sksl/codegen:SkSLMetalCodeGenerator_hdr",
        "//src/sksl/codegen:SkSLSPIRVCodeGenerator_hdr",
        "//src/sksl/codegen:SkSLSPIRVtoHLSL_hdr",
        "//src/sksl/dsl/priv:DSLWriter_hdr",
        "//src/sksl/dsl/priv:DSL_priv_hdr",
        "//src/sksl/ir:SkSLExpressionStatement_hdr",
        "//src/sksl/ir:SkSLExpression_hdr",
        "//src/sksl/ir:SkSLExternalFunctionReference_hdr",
        "//src/sksl/ir:SkSLFieldAccess_hdr",
        "//src/sksl/ir:SkSLField_hdr",
        "//src/sksl/ir:SkSLFunctionCall_hdr",
        "//src/sksl/ir:SkSLFunctionDefinition_hdr",
        "//src/sksl/ir:SkSLFunctionReference_hdr",
        "//src/sksl/ir:SkSLInterfaceBlock_hdr",
        "//src/sksl/ir:SkSLLiteral_hdr",
        "//src/sksl/ir:SkSLModifiersDeclaration_hdr",
        "//src/sksl/ir:SkSLNop_hdr",
        "//src/sksl/ir:SkSLSymbolTable_hdr",
        "//src/sksl/ir:SkSLTernaryExpression_hdr",
        "//src/sksl/ir:SkSLTypeReference_hdr",
        "//src/sksl/ir:SkSLUnresolvedFunction_hdr",
        "//src/sksl/ir:SkSLVarDeclarations_hdr",
        "//src/sksl/transform:SkSLProgramWriter_hdr",
        "//src/sksl/transform:SkSLTransform_hdr",
        "//src/utils:SkBitSet_hdr",
    ],
)

generated_cc_atom(
    name = "SkSLConstantFolder_hdr",
    hdrs = ["SkSLConstantFolder.h"],
    visibility = ["//:__subpackages__"],
    deps = [
        ":SkSLOperators_hdr",
        "//include/private:SkSLDefines_hdr",
    ],
)

generated_cc_atom(
    name = "SkSLConstantFolder_src",
    srcs = ["SkSLConstantFolder.cpp"],
    visibility = ["//:__subpackages__"],
    deps = [
        ":SkSLAnalysis_hdr",
        ":SkSLConstantFolder_hdr",
        ":SkSLContext_hdr",
        ":SkSLProgramSettings_hdr",
        "//include/sksl:SkSLErrorReporter_hdr",
        "//src/sksl/ir:SkSLBinaryExpression_hdr",
        "//src/sksl/ir:SkSLConstructorCompound_hdr",
        "//src/sksl/ir:SkSLConstructorSplat_hdr",
        "//src/sksl/ir:SkSLConstructor_hdr",
        "//src/sksl/ir:SkSLExpression_hdr",
        "//src/sksl/ir:SkSLLiteral_hdr",
        "//src/sksl/ir:SkSLPrefixExpression_hdr",
        "//src/sksl/ir:SkSLType_hdr",
        "//src/sksl/ir:SkSLVariableReference_hdr",
        "//src/sksl/ir:SkSLVariable_hdr",
    ],
)

generated_cc_atom(
    name = "SkSLContext_hdr",
    hdrs = ["SkSLContext.h"],
    visibility = ["//:__subpackages__"],
    deps = [
        ":SkSLBuiltinTypes_hdr",
        ":SkSLUtil_hdr",
        "//src/sksl/ir:SkSLType_hdr",
    ],
)

generated_cc_atom(
    name = "SkSLContext_src",
    srcs = ["SkSLContext.cpp"],
    visibility = ["//:__subpackages__"],
    deps = [
        ":SkSLContext_hdr",
        ":SkSLPool_hdr",
    ],
)

generated_cc_atom(
    name = "SkSLDSLParser_hdr",
    hdrs = ["SkSLDSLParser.h"],
    visibility = ["//:__subpackages__"],
    deps = [
        ":SkSLLexer_hdr",
        "//include/core:SkStringView_hdr",
        "//include/private:SkSLProgramKind_hdr",
        "//include/private:SkTOptional_hdr",
        "//include/sksl:DSLSymbols_hdr",
        "//include/sksl:DSL_hdr",
        "//src/sksl/ir:SkSLProgram_hdr",
    ],
)

generated_cc_atom(
    name = "SkSLDSLParser_src",
    srcs = ["SkSLDSLParser.cpp"],
    visibility = ["//:__subpackages__"],
    deps = [
        ":SkSLCompiler_hdr",
        ":SkSLConstantFolder_hdr",
        ":SkSLDSLParser_hdr",
        ":SkSLThreadContext_hdr",
        "//include/private:SkSLString_hdr",
        "//src/sksl/dsl/priv:DSLWriter_hdr",
        "//src/sksl/dsl/priv:DSL_priv_hdr",
    ],
)

generated_cc_atom(
    name = "SkSLDehydrator_hdr",
    hdrs = ["SkSLDehydrator.h"],
    visibility = ["//:__subpackages__"],
    deps = [
        ":SkSLOutputStream_hdr",
        ":SkSLStringStream_hdr",
        "//include/core:SkSpan_hdr",
        "//include/private:SkSLModifiers_hdr",
        "//include/private:SkSLSymbol_hdr",
        "//include/private:SkTHash_hdr",
    ],
)

generated_cc_atom(
    name = "SkSLDehydrator_src",
    srcs = ["SkSLDehydrator.cpp"],
    visibility = ["//:__subpackages__"],
    deps = [
        ":SkSLDehydrator_hdr",
        ":SkSLRehydrator_hdr",
        "//include/private:SkSLProgramElement_hdr",
        "//include/private:SkSLStatement_hdr",
        "//include/private:SkSLSymbol_hdr",
        "//src/sksl/ir:SkSLBinaryExpression_hdr",
        "//src/sksl/ir:SkSLBreakStatement_hdr",
        "//src/sksl/ir:SkSLConstructorArrayCast_hdr",
        "//src/sksl/ir:SkSLConstructorArray_hdr",
        "//src/sksl/ir:SkSLConstructorCompoundCast_hdr",
        "//src/sksl/ir:SkSLConstructorCompound_hdr",
        "//src/sksl/ir:SkSLConstructorDiagonalMatrix_hdr",
        "//src/sksl/ir:SkSLConstructorMatrixResize_hdr",
        "//src/sksl/ir:SkSLConstructorScalarCast_hdr",
        "//src/sksl/ir:SkSLConstructorSplat_hdr",
        "//src/sksl/ir:SkSLConstructorStruct_hdr",
        "//src/sksl/ir:SkSLConstructor_hdr",
        "//src/sksl/ir:SkSLContinueStatement_hdr",
        "//src/sksl/ir:SkSLDiscardStatement_hdr",
        "//src/sksl/ir:SkSLDoStatement_hdr",
        "//src/sksl/ir:SkSLExpressionStatement_hdr",
        "//src/sksl/ir:SkSLFieldAccess_hdr",
        "//src/sksl/ir:SkSLField_hdr",
        "//src/sksl/ir:SkSLForStatement_hdr",
        "//src/sksl/ir:SkSLFunctionCall_hdr",
        "//src/sksl/ir:SkSLFunctionDeclaration_hdr",
        "//src/sksl/ir:SkSLFunctionDefinition_hdr",
        "//src/sksl/ir:SkSLIfStatement_hdr",
        "//src/sksl/ir:SkSLIndexExpression_hdr",
        "//src/sksl/ir:SkSLInlineMarker_hdr",
        "//src/sksl/ir:SkSLInterfaceBlock_hdr",
        "//src/sksl/ir:SkSLLiteral_hdr",
        "//src/sksl/ir:SkSLPostfixExpression_hdr",
        "//src/sksl/ir:SkSLPrefixExpression_hdr",
        "//src/sksl/ir:SkSLReturnStatement_hdr",
        "//src/sksl/ir:SkSLSetting_hdr",
        "//src/sksl/ir:SkSLStructDefinition_hdr",
        "//src/sksl/ir:SkSLSwitchCase_hdr",
        "//src/sksl/ir:SkSLSwitchStatement_hdr",
        "//src/sksl/ir:SkSLSwizzle_hdr",
        "//src/sksl/ir:SkSLSymbolTable_hdr",
        "//src/sksl/ir:SkSLTernaryExpression_hdr",
        "//src/sksl/ir:SkSLUnresolvedFunction_hdr",
        "//src/sksl/ir:SkSLVarDeclarations_hdr",
        "//src/sksl/ir:SkSLVariable_hdr",
    ],
)

generated_cc_atom(
    name = "SkSLErrorReporter_src",
    srcs = ["SkSLErrorReporter.cpp"],
    visibility = ["//:__subpackages__"],
    deps = [
        ":SkSLCompiler_hdr",
        "//include/sksl:SkSLErrorReporter_hdr",
        "//src/sksl/dsl/priv:DSLWriter_hdr",
    ],
)

generated_cc_atom(
    name = "SkSLFileOutputStream_hdr",
    hdrs = ["SkSLFileOutputStream.h"],
    visibility = ["//:__subpackages__"],
    deps = [
        ":SkSLOutputStream_hdr",
        ":SkSLUtil_hdr",
    ],
)

generated_cc_atom(
    name = "SkSLGLSL_hdr",
    hdrs = ["SkSLGLSL.h"],
    visibility = ["//:__subpackages__"],
)

generated_cc_atom(
    name = "SkSLInliner_hdr",
    hdrs = ["SkSLInliner.h"],
    visibility = ["//:__subpackages__"],
    deps = [
        ":SkSLMangler_hdr",
        "//src/sksl/ir:SkSLProgram_hdr",
        "//src/sksl/ir:SkSLVariableReference_hdr",
    ],
)

generated_cc_atom(
    name = "SkSLInliner_src",
    srcs = ["SkSLInliner.cpp"],
    visibility = ["//:__subpackages__"],
    deps = [
        ":SkSLInliner_hdr",
        "//include/private:SkSLLayout_hdr",
        "//src/sksl/analysis:SkSLProgramVisitor_hdr",
        "//src/sksl/ir:SkSLBinaryExpression_hdr",
        "//src/sksl/ir:SkSLBreakStatement_hdr",
        "//src/sksl/ir:SkSLChildCall_hdr",
        "//src/sksl/ir:SkSLConstructorArrayCast_hdr",
        "//src/sksl/ir:SkSLConstructorArray_hdr",
        "//src/sksl/ir:SkSLConstructorCompoundCast_hdr",
        "//src/sksl/ir:SkSLConstructorCompound_hdr",
        "//src/sksl/ir:SkSLConstructorDiagonalMatrix_hdr",
        "//src/sksl/ir:SkSLConstructorMatrixResize_hdr",
        "//src/sksl/ir:SkSLConstructorScalarCast_hdr",
        "//src/sksl/ir:SkSLConstructorSplat_hdr",
        "//src/sksl/ir:SkSLConstructorStruct_hdr",
        "//src/sksl/ir:SkSLConstructor_hdr",
        "//src/sksl/ir:SkSLContinueStatement_hdr",
        "//src/sksl/ir:SkSLDiscardStatement_hdr",
        "//src/sksl/ir:SkSLDoStatement_hdr",
        "//src/sksl/ir:SkSLExpressionStatement_hdr",
        "//src/sksl/ir:SkSLExternalFunctionCall_hdr",
        "//src/sksl/ir:SkSLExternalFunctionReference_hdr",
        "//src/sksl/ir:SkSLFieldAccess_hdr",
        "//src/sksl/ir:SkSLField_hdr",
        "//src/sksl/ir:SkSLForStatement_hdr",
        "//src/sksl/ir:SkSLFunctionCall_hdr",
        "//src/sksl/ir:SkSLFunctionDeclaration_hdr",
        "//src/sksl/ir:SkSLFunctionDefinition_hdr",
        "//src/sksl/ir:SkSLFunctionReference_hdr",
        "//src/sksl/ir:SkSLIfStatement_hdr",
        "//src/sksl/ir:SkSLIndexExpression_hdr",
        "//src/sksl/ir:SkSLInlineMarker_hdr",
        "//src/sksl/ir:SkSLInterfaceBlock_hdr",
        "//src/sksl/ir:SkSLLiteral_hdr",
        "//src/sksl/ir:SkSLNop_hdr",
        "//src/sksl/ir:SkSLPostfixExpression_hdr",
        "//src/sksl/ir:SkSLPrefixExpression_hdr",
        "//src/sksl/ir:SkSLReturnStatement_hdr",
        "//src/sksl/ir:SkSLSetting_hdr",
        "//src/sksl/ir:SkSLSwitchCase_hdr",
        "//src/sksl/ir:SkSLSwitchStatement_hdr",
        "//src/sksl/ir:SkSLSwizzle_hdr",
        "//src/sksl/ir:SkSLTernaryExpression_hdr",
        "//src/sksl/ir:SkSLUnresolvedFunction_hdr",
        "//src/sksl/ir:SkSLVarDeclarations_hdr",
        "//src/sksl/ir:SkSLVariableReference_hdr",
        "//src/sksl/ir:SkSLVariable_hdr",
    ],
)

generated_cc_atom(
    name = "SkSLIntrinsicList_hdr",
    hdrs = ["SkSLIntrinsicList.h"],
    visibility = ["//:__subpackages__"],
)

generated_cc_atom(
    name = "SkSLLexer_hdr",
    hdrs = ["SkSLLexer.h"],
    visibility = ["//:__subpackages__"],
    deps = ["//include/core:SkStringView_hdr"],
)

generated_cc_atom(
    name = "SkSLLexer_src",
    srcs = ["SkSLLexer.cpp"],
    visibility = ["//:__subpackages__"],
    deps = [":SkSLLexer_hdr"],
)

generated_cc_atom(
    name = "SkSLMain_src",
    srcs = ["SkSLMain.cpp"],
    visibility = ["//:__subpackages__"],
    deps = [
        ":SkSLCompiler_hdr",
        ":SkSLDehydrator_hdr",
        ":SkSLFileOutputStream_hdr",
        ":SkSLStringStream_hdr",
        ":SkSLUtil_hdr",
        "//include/core:SkGraphics_hdr",
        "//include/core:SkStream_hdr",
        "//src/core:SkCpu_hdr",
        "//src/core:SkOpts_hdr",
        "//src/opts:SkChecksum_opts_hdr",
        "//src/opts:SkVM_opts_hdr",
        "//src/sksl/codegen:SkSLPipelineStageCodeGenerator_hdr",
        "//src/sksl/codegen:SkSLVMCodeGenerator_hdr",
        "//src/sksl/ir:SkSLUnresolvedFunction_hdr",
        "//src/sksl/ir:SkSLVarDeclarations_hdr",
        "//src/sksl/tracing:SkVMDebugTrace_hdr",
        "//src/utils:SkShaderUtils_hdr",
        "//src/utils:SkVMVisualizer_hdr",
    ],
)

generated_cc_atom(
    name = "SkSLMangler_hdr",
    hdrs = ["SkSLMangler.h"],
    visibility = ["//:__subpackages__"],
    deps = ["//include/private:SkSLString_hdr"],
)

generated_cc_atom(
    name = "SkSLMangler_src",
    srcs = ["SkSLMangler.cpp"],
    visibility = ["//:__subpackages__"],
    deps = [
        ":SkSLMangler_hdr",
        "//src/sksl/ir:SkSLSymbolTable_hdr",
    ],
)

generated_cc_atom(
    name = "SkSLMemoryLayout_hdr",
    hdrs = ["SkSLMemoryLayout.h"],
    visibility = ["//:__subpackages__"],
    deps = ["//src/sksl/ir:SkSLType_hdr"],
)

generated_cc_atom(
    name = "SkSLMemoryPool_hdr",
    hdrs = ["SkSLMemoryPool.h"],
    visibility = ["//:__subpackages__"],
    deps = [
        "//include/core:SkTypes_hdr",
        "//src/gpu:GrMemoryPool_hdr",
    ],
)

generated_cc_atom(
    name = "SkSLModifiersPool_hdr",
    hdrs = ["SkSLModifiersPool.h"],
    visibility = ["//:__subpackages__"],
    deps = ["//include/private:SkSLModifiers_hdr"],
)

generated_cc_atom(
    name = "SkSLOperators_hdr",
    hdrs = ["SkSLOperators.h"],
    visibility = ["//:__subpackages__"],
    deps = [
        ":SkSLLexer_hdr",
        "//include/private:SkSLDefines_hdr",
    ],
)

generated_cc_atom(
    name = "SkSLOperators_src",
    srcs = ["SkSLOperators.cpp"],
    visibility = ["//:__subpackages__"],
    deps = [
        ":SkSLContext_hdr",
        ":SkSLOperators_hdr",
        ":SkSLProgramSettings_hdr",
        "//include/core:SkTypes_hdr",
        "//src/sksl/ir:SkSLType_hdr",
    ],
)

generated_cc_atom(
    name = "SkSLOutputStream_hdr",
    hdrs = ["SkSLOutputStream.h"],
    visibility = ["//:__subpackages__"],
    deps = [
        "//include/private:SkSLDefines_hdr",
        "//include/private:SkSLString_hdr",
    ],
)

generated_cc_atom(
    name = "SkSLOutputStream_src",
    srcs = ["SkSLOutputStream.cpp"],
    visibility = ["//:__subpackages__"],
    deps = [":SkSLOutputStream_hdr"],
)

generated_cc_atom(
    name = "SkSLParsedModule_hdr",
    hdrs = ["SkSLParsedModule.h"],
    visibility = ["//:__subpackages__"],
)

generated_cc_atom(
    name = "SkSLPool_hdr",
    hdrs = ["SkSLPool.h"],
    visibility = ["//:__subpackages__"],
    deps = [":SkSLMemoryPool_hdr"],
)

generated_cc_atom(
    name = "SkSLPool_src",
    srcs = ["SkSLPool.cpp"],
    visibility = ["//:__subpackages__"],
    deps = [
        ":SkSLPool_hdr",
        "//include/private:SkSLDefines_hdr",
    ],
)

generated_cc_atom(
    name = "SkSLProgramSettings_hdr",
    hdrs = ["SkSLProgramSettings.h"],
    visibility = ["//:__subpackages__"],
    deps = [
        "//include/private:SkSLDefines_hdr",
        "//include/private:SkSLProgramKind_hdr",
    ],
)

generated_cc_atom(
    name = "SkSLRehydrator_hdr",
    hdrs = ["SkSLRehydrator.h"],
    visibility = ["//:__subpackages__"],
    deps = [
        ":SkSLContext_hdr",
        "//include/private:SkSLDefines_hdr",
        "//include/private:SkSLModifiers_hdr",
        "//include/private:SkSLSymbol_hdr",
    ],
)

generated_cc_atom(
    name = "SkSLRehydrator_src",
    srcs = ["SkSLRehydrator.cpp"],
    visibility = ["//:__subpackages__"],
    deps = [
        ":SkSLAnalysis_hdr",
        ":SkSLRehydrator_hdr",
        "//include/private:SkSLModifiers_hdr",
        "//include/private:SkSLProgramElement_hdr",
        "//include/private:SkSLStatement_hdr",
        "//src/sksl/ir:SkSLBinaryExpression_hdr",
        "//src/sksl/ir:SkSLBreakStatement_hdr",
        "//src/sksl/ir:SkSLConstructorArray_hdr",
        "//src/sksl/ir:SkSLConstructorCompoundCast_hdr",
        "//src/sksl/ir:SkSLConstructorCompound_hdr",
        "//src/sksl/ir:SkSLConstructorDiagonalMatrix_hdr",
        "//src/sksl/ir:SkSLConstructorMatrixResize_hdr",
        "//src/sksl/ir:SkSLConstructorScalarCast_hdr",
        "//src/sksl/ir:SkSLConstructorSplat_hdr",
        "//src/sksl/ir:SkSLConstructorStruct_hdr",
        "//src/sksl/ir:SkSLConstructor_hdr",
        "//src/sksl/ir:SkSLContinueStatement_hdr",
        "//src/sksl/ir:SkSLDiscardStatement_hdr",
        "//src/sksl/ir:SkSLDoStatement_hdr",
        "//src/sksl/ir:SkSLExpressionStatement_hdr",
        "//src/sksl/ir:SkSLExpression_hdr",
        "//src/sksl/ir:SkSLFieldAccess_hdr",
        "//src/sksl/ir:SkSLField_hdr",
        "//src/sksl/ir:SkSLForStatement_hdr",
        "//src/sksl/ir:SkSLFunctionCall_hdr",
        "//src/sksl/ir:SkSLFunctionDeclaration_hdr",
        "//src/sksl/ir:SkSLFunctionDefinition_hdr",
        "//src/sksl/ir:SkSLIfStatement_hdr",
        "//src/sksl/ir:SkSLIndexExpression_hdr",
        "//src/sksl/ir:SkSLInlineMarker_hdr",
        "//src/sksl/ir:SkSLInterfaceBlock_hdr",
        "//src/sksl/ir:SkSLLiteral_hdr",
        "//src/sksl/ir:SkSLPostfixExpression_hdr",
        "//src/sksl/ir:SkSLPrefixExpression_hdr",
        "//src/sksl/ir:SkSLReturnStatement_hdr",
        "//src/sksl/ir:SkSLSetting_hdr",
        "//src/sksl/ir:SkSLStructDefinition_hdr",
        "//src/sksl/ir:SkSLSwitchCase_hdr",
        "//src/sksl/ir:SkSLSwitchStatement_hdr",
        "//src/sksl/ir:SkSLSwizzle_hdr",
        "//src/sksl/ir:SkSLSymbolTable_hdr",
        "//src/sksl/ir:SkSLTernaryExpression_hdr",
        "//src/sksl/ir:SkSLType_hdr",
        "//src/sksl/ir:SkSLUnresolvedFunction_hdr",
        "//src/sksl/ir:SkSLVarDeclarations_hdr",
        "//src/sksl/ir:SkSLVariable_hdr",
    ],
)

generated_cc_atom(
    name = "SkSLSampleUsage_src",
    srcs = ["SkSLSampleUsage.cpp"],
    visibility = ["//:__subpackages__"],
    deps = ["//include/private:SkSLSampleUsage_hdr"],
)

generated_cc_atom(
    name = "SkSLStringStream_hdr",
    hdrs = ["SkSLStringStream.h"],
    visibility = ["//:__subpackages__"],
    deps = [
        ":SkSLOutputStream_hdr",
        "//include/core:SkData_hdr",
        "//include/core:SkStream_hdr",
        "//include/private:SkSLString_hdr",
    ],
)

generated_cc_atom(
    name = "SkSLString_src",
    srcs = ["SkSLString.cpp"],
    visibility = ["//:__subpackages__"],
    deps = [
        ":SkSLUtil_hdr",
        "//include/private:SkSLString_hdr",
    ],
)

generated_cc_atom(
    name = "SkSLThreadContext_hdr",
    hdrs = ["SkSLThreadContext.h"],
    visibility = ["//:__subpackages__"],
    deps = [
        ":SkSLMangler_hdr",
        "//include/core:SkStringView_hdr",
        "//include/private:SkSLModifiers_hdr",
        "//src/gpu:GrFragmentProcessor_hdr",
        "//src/sksl/ir:SkSLProgram_hdr",
    ],
)

generated_cc_atom(
    name = "SkSLThreadContext_src",
    srcs = ["SkSLThreadContext.cpp"],
    visibility = ["//:__subpackages__"],
    deps = [
        ":SkSLBuiltinMap_hdr",
        ":SkSLCompiler_hdr",
        ":SkSLThreadContext_hdr",
        "//include/sksl:DSLSymbols_hdr",
        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
        "//src/sksl/ir:SkSLExternalFunction_hdr",
    ],
)

generated_cc_atom(
    name = "SkSLUtil_hdr",
    hdrs = ["SkSLUtil.h"],
    visibility = ["//:__subpackages__"],
    deps = [
        ":SkSLGLSL_hdr",
        ":SkSLLexer_hdr",
        "//include/core:SkTypes_hdr",
        "//include/gpu:GrContextOptions_hdr",
        "//include/private:GrTypesPriv_hdr",
        "//include/private:SkSLDefines_hdr",
    ],
)

generated_cc_atom(
    name = "SkSLUtil_src",
    srcs = ["SkSLUtil.cpp"],
    visibility = ["//:__subpackages__"],
    deps = [
        ":SkSLContext_hdr",
        ":SkSLStringStream_hdr",
        ":SkSLUtil_hdr",
        "//src/gpu:GrShaderCaps_hdr",
        "//src/sksl/ir:SkSLType_hdr",
    ],
)

generated_cc_atom(
    name = "spirv_hdr",
    hdrs = ["spirv.h"],
    visibility = ["//:__subpackages__"],
)

generated_cc_atom(
    name = "SkSLBuiltinMap_hdr",
    hdrs = ["SkSLBuiltinMap.h"],
    visibility = ["//:__subpackages__"],
    deps = ["//include/private:SkSLString_hdr"],
)

generated_cc_atom(
    name = "SkSLBuiltinMap_src",
    srcs = ["SkSLBuiltinMap.cpp"],
    visibility = ["//:__subpackages__"],
    deps = [
        ":SkSLBuiltinMap_hdr",
        "//include/private:SkSLProgramElement_hdr",
        "//include/private:SkSLString_hdr",
    ],
)

generated_cc_atom(
    name = "SkSLSharedCompiler_hdr",
    hdrs = ["SkSLSharedCompiler.h"],
    visibility = ["//:__subpackages__"],
    deps = [
        ":SkSLCompiler_hdr",
        "//include/private:SkMutex_hdr",
    ],
)

generated_cc_atom(
    name = "SkSLSharedCompiler_src",
    srcs = ["SkSLSharedCompiler.cpp"],
    visibility = ["//:__subpackages__"],
    deps = [":SkSLSharedCompiler_hdr"],
)
